(+234)906 6787 765     |      prince@gmail.com

BRIDGING THE GAP FOR HARDWARE TRANSACTIONAL MEMORY

1-5 Chapters
Simple Percentage
NGN 4000

SUMMARY

Transactional memory (TM) is a promising new tool for shared memory application development. Unlike mutual exclusion locks, TM allows atomic sections to execute con- currently, potentially resulting in improved performance. Commercial releases of hardware TM (HTM) promises this functionality to end users.

However, the commercial implementations work to provide TM functionality with the minimum amount of hardware changes required, unlike research prototypes that can work from a clean slate. As a result, there are significant gaps in performance of the commercial implementations compared to those proposed by the research community. In this thesis, I propose to several ideas that keep with this mindset, but still close the gap in performance. First, I introduce plea bits that can be used to provide enhanced conflict resolution policies, compared to the basic “requester-wins” policy used in commercial HTM imple- mentations. These bits are only used by the HTM hardware and ignored by the coherence protocol, reducing verification overhead that can result from modifying the protocol, which

past work has opted for.

Second, I propose stopping automatic state rollback when the transaction encounters an abort-causing condition, and calling a pre-abort handler instead. HTMs are forced to abort valid transactions due to various limitations. By this simple change however, programmers can insert various code that mitigates such limitations, or even insert non-transactional work within the transaction.

Last, I propose to change how speculative writes are handled within the transaction, allowing for lazy conflict detection on an eager conflict detection HTM, which is what commercial HTM use. Lazy conflict detection promises better performance, but have been viewed to require changes to the coherence protocol. Instead, by defering the write per- mission acquisition to the end of the transaction, I show that it is possible to support lazy conflict detection without such extensive changes.